Modern data processing systems in an enterprise environment typically are multi-platform systems. These also typically involve distributed file and application services across a network to provide resources to the multiple users which are connected to the resources via a network. The network may include a Local Area Network (LAN) a Wide Area Network (WAN) additionally, a large enterprise, these networks may additionally be connected via the Internet.
Software resources in this environment often include multiple files that may constitute executable files to provide some application service, associated documentation which may be in text or binary form and data required by the particular application. These applications may be available to the users to provide particular functionality required by the user or may provide administrative applications, or testcase software, as discussed in the commonly owned co-pending U.S. patent application Ser. No. 10/636,958 entitled “Systems and Methods for Synchronizing Software Execution Across Data Processing Systems and Platforms” hereby incorporated herein by reference. These files, in view of the distributed nature of the enterprise data processing environment may be packaged on one platform but may be used on another. (Methods and systems for automatically building such packages using the inventive principles discussed hereinbelow are described in the co-pending commonly-owned U.S. patent application Ser. No. 10/636,988 entitled “Systems and Methods for Building Public Software Packages,” hereby incorporated herein by reference.) Thus, for example, a set of files to be shared and packaged, for example on a Unix or Unix-like operating system (such as Linux) may have attributes that are incompatible with a target platform, say Windows. Thus, text files, for example, created on the Unix platform may have embedded line breaks that are incompatible with the representation of line breaks on the target window's system (linefeeds on the Unix platform and a carriage return linefeed pair on Windows). Executable files packaged for sharing across an enterprise data processing system may also be problematic. For example, file extensions as used in a Windows environment are not meaningful on Unix, or Unix-like platforms. Thus, a binary executable in a package of files packaged in a Windows environment may not be recognized as an executable file in a Unix environment. Conversely, a shell script, which is a Unix executable would not be recognized as an executable file in a Windows environment, and such a file maintained in a Windows environment would not be flagged appropriately. Consequently, a package of files that is to be shared across multiple platforms may require, when moving from one platform to another, manual linefeed/carriage return translation (commonly referred to in the art as “CTRL+M” translation) and manual resetting of execution flags. These manual processes can be tedious, time consuming and error prone.
Consequently, there is a need in the art for mechanisms to automate the adaptation of shared file packages across platforms, and in particular text file linefeed/carriage return translation and file type flags in multi-user shared resource data processing systems.
Additionally, management of these filesets can be problematic. In such an environment, over time the number of archived packages of files may become unwieldy to manage and costly in terms of storage resources. However, because, particularly in a large enterprise, the number of users of a particular package of files may be unknown, or which particular users are using a set of files are difficult to determine or are otherwise unknown, the tendency is to maintain file archives indefinitely. Consequently, there is an additional need in the art for mechanisms to manage archived file packages, particularly with respect to the deletion and/or modification of such packages.